1. Field of the Invention
This invention is related to the management of objects in a networked system and, more particularly, to upgrading versions of the objects in the system.
2. Description of the Related Art
Various models are used to link a set of nodes (e.g. computer systems) into a networked system. For example, the client-server model defines a central authority (a server) which manages various objects shared by the nodes in the computer system. Another model is a peer-to-peer network, in which the nodes may typically have equivalent responsibilities and capabilities. In some cases, the nodes may acquire various responsibilities/capabilities in the system and release the responsibilities/capabilities as they see fit.
Various objects may be shared among the nodes in a peer-to-peer network. That is, various nodes in the peer-to-peer network may have copies of the objects. If an object may be updated, then a mechanism for propagating new versions of the object is needed. Typically, networked systems have employed one of several mechanisms for version propagation: manual checking, polling, or broadcasting.
With manual checking, a system administrator checks for new versions of objects, and manually propagates the new versions to the nodes. Since manual checking involves humans, the propagation of the new versions may be delayed in time. Additionally, the timing of update propagation may be inconsistent based on how often the system administrator actually checks for new versions.
In a polling mechanism, each node polls other nodes (e.g. server nodes, or each other node or a subset of other nodes in a peer-to-peer system) to detect new versions. While version propagation may be more rapid than the manual checking method in some cases, the polling mechanism may generate a relatively large amount of communication traffic between the nodes, which may impact the transmission of other traffic.
In a broadcast mechanism, the node with a newer version broadcasts an indication of the new version to other nodes. The broadcast mechanism may involve less communication traffic between the nodes. However, if a given node is “down” (not operating on the network) at the time of the broadcast, that node may not receive the new version.